{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Read & plot displacement time-series of one pixel from time-series HDF5 file ##"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "read from file: /Users/yunjunz/data/archives/Galapagos/GalapagosSenDT128/mintpy/geo/geo_timeseries_ERA5_ramp_demErr.h5\n",
      "input lat / lon: -1.0352 / -91.1917\n",
      "corresponding y / x: 1803 / 906\n"
     ]
    }
   ],
   "source": [
    "## Read/plot displacement time-series of one pixel from timeseries HDF5 file\n",
    "%matplotlib inline\n",
    "import os\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from mintpy.utils import utils as ut, plot as pp\n",
    "plt.rcParams.update({'font.size': 12})\n",
    "\n",
    "# work directory\n",
    "proj_dir = os.path.expanduser('~/data/archives/Galapagos/GalapagosSenDT128/mintpy')\n",
    "\n",
    "## file in radar coordinates\n",
    "#geom_file = os.path.join(proj_dir, './inputs/geometryRadar.h5')\n",
    "#ts_file = os.path.join(proj_dir, 'timeseries_ERA5_ramp_demErr.h5')\n",
    "\n",
    "# file in geo coordinates\n",
    "geom_file = None\n",
    "ts_file = os.path.join(proj_dir, 'geo/geo_timeseries_ERA5_ramp_demErr.h5')\n",
    "\n",
    "# read dates and displacement\n",
    "print(f'read from file: {ts_file}')\n",
    "dates, dis, dis_std = ut.read_timeseries_lalo(lat=-1.0352, lon=-91.1917, ts_file=ts_file, lookup_file=geom_file)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "save to file: dis_ts.png\n"
     ]
    },
    {
     "data": {
      "image/png": "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hg25ceNGgpEU7t69S1BQEHfv3rX7+GO+vr5cvnwZLy8vTp8+nWC6jeSMGDGCGTNmJJjmQkQICgpi586dtGjRItl9f/75Z7788ksOHz6MUgpfX182btxISEgI+fLlIzo62jziwZUrVzhz5gz//vtvih0mxowZw9WrV8297wwGA97e3ly8eJHatWvj6upq3jYwMBAfHx8OHjzItm3bePbZZ2ndujVvvPEGffr0SXTsw4cP06BBA7766itzF3oRYcSIESxatIiHDx8yZ84cHjx4wLhx47hx4wYzZ85MMs4FCxbQqFGj5C9snN9++41XX32VDh06sGbNmlS317QsP1JDWumEZBvnz5/nxo0biZa7uLhQt25du75ZHxYWRqVKlThw4AAlSpRI8O5USiIjI7l69Wqi5UopKlasmOKID23atOHQoUMUK1YMg8FAcHAwJUqU4Pr168ydOxdfX1/69u1rHlzW1dWVDh06JHudoqOjKV68OLVq1Uowt9KJEydwcXFJskfitm3bCAgIMP+y379/Pz169CAgICDRQLinT59OdnSGrl278v777zN79mwiIiJSnSbEEiJCgwYN+PDDDxk6dChbt25N8r0xTYtPJyQt2zNVR4sXG9/XnjhxosVVUnqFhoZy+/ZtwDjy9enTpxk5ciR58uShTJkyLF++nO3btyc5F1VSYmNj2bRpE5GRkYnWlS1bNlFF8uDBA/P7XfF/0ffp04fPPvssySopOcuXL2fu3Lns3bsXEaFOnTqMGzeODh06WHyMJ/32228MGTKEEydOMHPmTP78809dJWmpsmpCUkq9iHHm2IMikvilhEygE1LuEhYWhqenJ3v37jW/HBwREYG3tzd79+5NtUqyhu7du/PXX38lWl6gQAEOHTpEgQIFrH7O4OBgevTokeQYhJ06deLzzz+36Dimyf3iTz1hyWSKKTFVR4MHD+b1118nMjIST09PXSVpqUopIaU4hblSagWwU0QWxH3/BcYx7E4AXyql3heRH6wdsKbFt3//fiIiIqhVq1aidVu3bs2UhLR8+fIU19+5c4cmTZqwefPmZKcgT6unn36a/fv3Z/g4a9eu5cqVK2zbto3t27cDxmrt9OnT/Pbbb7Rr1y7Nx9yyZQsPHjwwTxtfoEABhgwZwrhx43SVpKVbihWSUioE8BGRm3GT5/0LvC8ia5VSL2Gcwrxm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\n",
      "text/plain": [
       "<Figure size 432x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot\n",
    "fig, ax = plt.subplots(nrows=1, ncols=1, figsize=[6, 3])\n",
    "ax.scatter(dates, dis*100, marker='^', s=6**2, facecolors='none', edgecolors='k', linewidth=1.)\n",
    "\n",
    "# axis format\n",
    "ax.tick_params(which='both', direction='in', bottom=True, top=True, left=True, right=True)\n",
    "pp.auto_adjust_xaxis_date(ax, dates)\n",
    "ax.set_ylim(-5, 5)\n",
    "ax.set_xlabel('Time [year]')\n",
    "ax.set_ylabel('LOS displacement [cm]')\n",
    "fig.tight_layout()\n",
    "\n",
    "# output\n",
    "out_file = 'dis_ts.png'\n",
    "#plt.savefig(out_file, bbox_inches='tight', transparent=True, dpi=300)\n",
    "print(f'save to file: {out_file}')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
